package com.voice.core.api.client;

import com.voice.core.api.enums.Scheme;
import com.voice.core.api.exception.SdkException;
import com.voice.core.api.model.ApiRequest;
import com.voice.core.api.model.ApiResponse;

public abstract class BaseApiClient {

    String appKey;
    String appSecret;
    Scheme scheme;
    String host;
    boolean isInit = false;

    public BaseApiClient() {
    }

    protected void checkIsInit() {
        if (!this.isInit) {
            throw new SdkException("MUST initial client before using");
        }
    }

    protected abstract ApiResponse sendSyncRequest(ApiRequest apiRequest);

}
